package com.xilada.xldutils.fragment;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.View;

import com.xilada.xldutils.R;
import com.xilada.xldutils.utils.DensityUtil;
import com.xilada.xldutils.utils.Toast;
import com.xilada.xldutils.widget.ProgressDialog;

/**
 *
 * Created by LiaoXiang on 2015/11/18.
 */
public class BaseFragment extends Fragment{

    private ProgressDialog dialog;
//    protected SharedPreferences sp;
    protected Context context;
    protected int mScreenWidth;

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        context = activity;
        mScreenWidth = DensityUtil.getDeviceWidth(context);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

    /**
     * 查找	View
     * @param paramInt
     * @return
     */
    public final <T extends View>T findViewById(int paramInt) {
        if (getView()==null){
            return null;
        }
        //noinspection unchecked
        return (T)getView().findViewById(paramInt);
    }

    /**
     * 显示加载提示窗
     */
    protected void showDialog(){
        showDialog("加载中...");
    }

    /**
     * 显示加载提示窗
     * @param msg 提示文字
     */
    protected void showDialog(CharSequence msg){
        showDialog(msg,false);
    }

    /**
     * 显示加载提示窗
     * @param msg 提示文字
     * @param canCancel 是否可手动取消
     */
    protected void showDialog(CharSequence msg,boolean canCancel){
        if (context == null) {
            return;
        }
        if(dialog == null){
            dialog = new ProgressDialog(context, R.style.Theme_ProgressDialog);
        }
        dialog.setCanceledOnTouchOutside(canCancel);
        dialog.setMessage(msg);
        if (!dialog.isShowing()) {
            dialog.show();
        }
    }

    /**
     * 关闭加载窗
     */
    public void dismissDialog(){
        if (dialog != null && dialog.isShowing()){
            dialog.dismiss();
        }
    }

    /**
     * 显示Toast
     * @param msg 显示文字
     */
    public void showToast(String msg){
        if (context == null) {
            return;
        }
        Toast.create(this).show(msg);
    }
//
//    /**
//     * 跳转页面
//     * @param mClass 目标页面
//     */
//    protected void goActivity(Class<?> mClass){
//        goActivity(mClass,null);
//    }
//
//    /**
//     * 跳转页面带参数
//     * @param mClass 目标页面
//     * @param bundle 参数
//     */
//    protected void goActivity(Class<?> mClass,Bundle bundle){
//        Intent intent = new Intent(context,mClass);
//        if (bundle!=null){
//            intent.putExtras(bundle);
//        }
//        startActivity(intent);
//    }
//
//    /**
//     * 带页面回调跳转，不带参数
//     * @param mClass 目标页面
//     * @param requestCode 请求code
//     */
//    protected void goActivityForResult(Class<?> mClass,int requestCode){
//        goActivityForResult(mClass,null,requestCode);
//    }
//
//    /**
//     * 带页面回调跳转，带参数
//     * @param mClass 目标页面
//     * @param bundle 参数
//     * @param requestCode 请求码
//     */
//    protected void goActivityForResult(Class<?> mClass,Bundle bundle,int requestCode){
//        Intent intent = new Intent(context,mClass);
//        if (bundle!=null){
//            intent.putExtras(bundle);
//        }
//        startActivityForResult(intent,requestCode);
//    }
}
